@L|}6CD l0C)HCC WhL/h `CmCDiD`  R@W1  Y0@R !L` D  C D     )16CS S)  C)D1 p p 0 C9DI pCDL~CiCDiD` D  C D     )16CS S)  C)D1 p p }0 C9DI pCDL~CiCDiD` DD˙` d J)L !}D L(( LL()  L| L( S LH 0p n  } CY?  q  L L  ` )} `A! d߰")-݆ "  $G@LLL&0") $G% }H0 3S8`G ȱG ȱG   Gȭ Gȭ GG}GHiH8(()) G$H% `(0 })8` d)L ݆ & LGȘ ݆LL d  ! LL d)N>Q  HH) }  hyhyB q L> Lm JJ  Ln*` dB%' }8  H H` 1 { LL   !L     Hh SY?  q  1L }  !? S   q 1 L   Ll  Lg E`L   !L)  q 1L}) `L0AM݊L݉ ML  N݆LLLNLMLHG!@}1F GȱGLLEEȩÑEȑEEȑE Ed E7EȩE  q} L !,0,0SGɛ L 1 !L EHEh W G gLLSROTCES EERF } G) *Gȩ GȽG GȌd q q G`  8   0G  `D}CEDC0X:Ȣ Y ȱC* ? 0.. , 0%n ?A[ 0 : L`L  `, 0`Y}`piH n0)բY? 08`0 }  0$L GGȽG L `8L`L}8`  05G)݁,G)ȱGȱGHh0})Hh` B! 8`8iiiLE`}E8FEh( l0`ɃLL L8^~jj8jHi hEEEiEȱEiE` dTE} H8EEȱEEȩEh J E8   . m  i`LI!)E1FR}1LJ舩9GIH`LJJ`HGHh l`} S gL   8 rii `дCDCG W  }C  Lq` X٨`DOS SYS IIIIIIIIIIIIIIIC`0 ߩ0}}} HE |||DDOS DOSDOS SYS }}}}CDOS SYS} 0`BDELV !B }`LVUQ   ]   TU J ]L!T  #      TU  } L ? .  t`GBJ V~DEHI B V0dV!}QDEHI VF9 ,0 ,0 s0hhL  L` H hDHEh"}DEL8HI   0 HI,0 0  9 .G VLO#},0 L4*IJ`llD1:AUTORUN.SYSNEED MEM.SAV TO LOAD THIS FILE.D1:MEM.SAV J y08 B|DEHI$} V0 0`B;DELV䌚 !B y`@ʆ v s? F0Ξ05: [ BDEHI%} VY8 B V  @  /DE `E:D1:DUP.SYSERROR-SAVING USER MEMORY ON DISKTYPE Y TO &}STILL RUN DOS B;DE J V (` 9 V⪍ ઍ  -'}LLu DEHILV 9 .l 9 .l  `` s$B VBH(}I|DE V BLV nB,DE J V* \*` B V BLVDEHI BLVL)}1u H232435; 1 ;  hh@2 e1i1LHҍ 00) 08 109hh@ Ҡ2e*}1i1232435ޥ<<8}ENHANCED POKEY PLAYERby Craig ChamberlainCopyright 1984 Alliance Softwarefrom Antic Publishing, Inc.WARNING: THE PROGR ,}AMS AND DOCUMENTATION ON THIS DISK ARE PROTECTED BY INTERNATIONAL COPYRIGHT LAWS. DUPLICATION OF THESE PROGRAMS FOR OTHER TH -}AN PERSONAL USE IS STRICTLY FORBIDDEN AND A VIOLATION OF COPYRIGHT LAWS.DOCUMENTATIONPART ONE Introduction Presenting. .}.. Enhanced Pokey Player Features of Pokey Player A Brief Course in Electronic Music How Atari Computers Make Sounds Runn /}ing the Player programPART TWO (available only with hardcopy documentation -- not included on this disk) 0} Creating Music with Pokey Player Fundamentals of Music Theory Notation Pitch Accidentals Key Signatures Duration Dott 1}ed Notes Measures Tempo Rests Ties and Slurs Volume Envelope Waveform SummaryPART THREE Multiple Voices Capabilit 2}ies of the Pokey Player Music System Music Creation ProcessPART FOUR The Editor Using the Joystick Pitch Duration Res 3}t Tie/slur Scrolling Insert Delete Clear Moving to the Ends of the Voice Measure Markers Measure Search Tempo Noise 4} and Volume Parameters Voice End Standard File Format Loading a Voice Saving a Voice ExitPART FIVE The CompilerPART 5} SIX The Vmerge ProgramPART SEVEN Advanced Features Repeats White Noise DetuningPART EIGHT (available only with hard 6}copy documentation -- not included on this disk) Advanced Music Reading Accidentals Revisited Key Ch 7}anges Octave Offsets Double Dots Triplets Time Signatures Tempo Changes DynamicsPART NINE The Dynabyte ProgramPART 8} TEN Adding Music to a BASIC Program How It Works Merging Pokey Player with a Program Load and Play Procedure Start and 9}Stop Playing Replay Multiple Songs Text Lines Using Flags for Synchronization Warnings Closing Remarks NOTE: Part Te :}n documentation can ONLY be printed using this technique: 1. Boot side 2. Before you press START, turn the disk ;} over. Then press START. 2. You'll be prompted to output to either your screen or a printer. Part 10 wil <}l be output accordingly.QUICK REFERENCEEditor keysCTRL-INSERT insert a noteCTRL-DELETE delete a note CTRL-CLEAR =} erase current voice B move to beginning of voice E move to end of voice M create measure marke >}r TAB search for measure marker T set tempo P set noise and volume parameters R repeat ?}beginning or end O frequency offset H halt F flag L load a source file S sa @}ve a source file (use .S extension)Compiler prompts INPUT DEVICE: D:filename.Sn where n is 1, 2, or 3 OUTPUT DEVICE: D:f A}ilename.Vn COMPILATION: E: to send to screen editor P: to send to printer (press only RETU B}RN for no report)PRIMARY/SECONDARY (P/S) S for voice one or two P for voice threeENHANCED POKEY PLAYERDOCUMENTATION P C}ART ONEby Craig ChamberlainINTRODUCTIONHave you ever wanted to show your computer buddies that your ATARI computer can D}do more than just play games? Have you ever wondered if your computer's sound generators could do more than make explosion s E}ounds? Have you ever had the desire to compose your own music, but didn't want to learn an instrument? Have you ever been i F}nterested in electronic music but didn't want to spend several dollars on hardware? Or, have you ever tried to use the Atari Y}@@L E }Press to list document to screen, to print document. }Š嬠ѠH}End of listing, press RETURN.D1:DOC.000 pppG@pppppp0BA@documentationoutputI}program@A0rovidedby*im4hompsonof"lue#ollar3oftwJ}arefrom!ntic-agazine 4he!tari2esourcepressstart$ocumentationforA0K}AAAA1ABA2A8AA)A8d0A8didAA8 A0ALBAi AAmAA8:0 8A AAA8:0 A AL}A`00gBhBiBjBkBLB3gB2hB7iB6jB8kB)ϥ8dΥ0.iB8iB:08iB iBhB8hB:08hB hBgBLM}BidΥi8 BC0jBLBi mkBkBkB8:0 8kB kBjBjB8:0 8jB jBiBiB8:0 8iB iBhBhB8:0 8hB hN}BgB`bCaCɛ LmC8`Cȱ80maCaCbCibC`C3 aC^CbC_C^CmaC^C_CmbC_C^CaC_CbCLC`S:O}K:E:P:C:R1:R2:R3:R4CD:ERROR!!!!!D1:MACROS EF B V B V0 B VP B V0@B JKٝDP}CE V BJKD@E V0iέ1iϠ΍@ȱ΍@0@1 BDJEHI V BDQ}JEHI V BDJEHI V BDJFGEHI VЭ@@0@ B VB R}JKٝDCE VPBJK֝DCE V BD@EHI VPBHIDJE VJS?s;PS}pLtFF@@8@0BJKܝDCE VLG%@@GG@ B V BJKD@E V BT}DJEHI V BDJEHI V܅ΩJϩ@ BHID@E VLI@ɛ= @΅ХU}iΥi@@8@Ч@ @LGЩ@@?0 BHIGHםDJE V0 BܝDJEHI VLIHV} BܝDJEHI V@@͚@L:I@LH0 BHID@E V0 B V0BJKܝDCE V W}BTD@EHI V0 BHID@E VLI BUD@EHHII VPBHIDJE VJX} QqLILI@@@ ɛLiG88@܅ΩJiХiѠБiΥiiХiLvG B V} MUSIC COMPOSER cartridge but have given up in disgust due to its many limitations?Of the three special chips in the ATARI Z}computers, the one that produces sounds (called POKEY, for POrt and KEYboard controller) is the most overlooked and underused [}. The POKEY is a rather versatile chip, being used by ATARI not only in their home computers, but in their arcade games as w \}ell, such as Missile Command. Yet, with few exceptions, the only sounds one ever hears from this chip are explosions and spe ]}cial effects for outer space shoot-em-up games. Isn't it about time somebody put POKEY through its paces?PRESENTING... POK ^}EY PLAYEREnter POKEY PLAYER, a music editing and playing utility for ATARI home computers. This music system is designed to _} allow full access to the wide variety of sounds that can be generated by the POKEY chip. Using POKEY PLAYER, it is possible `} to produce music of an appreciable quality.FEATURES OF POKEY PLAYERPOKEY PLAYER has special features not found in commerc a}ially available music programs: * A range of eight octaves is available. * The joystick is used to enter and edit notes. b}* Notes are displayed in two forms; on a grand staff, and as piano keys. * Each note has an automatic decay for a nicer soun c}d. * The tempo can be changed while a piece is playing. * White noise can be used to produce percussion effects. * An aver d}age of only one byte is used for each note. Music files are extremely compact. * Repeats can be used for note duplication w e}ithout using extra memory. * Songs created with POKEY PLAYER can be merged with BASIC programs.A BRIEF COURSE IN ELECTRONI f}C MUSICTo fully appreciate the capabilities of POKEY PLAYER, it is necessary to have an understanding of how electronic musi g}c works.When your ear hears a sound, it is actually detecting vibrations. The rate of vibration is called the frequency an h}d is what determines the pitch of a sound. In a musical instrument, a metal string, reed, stretched membrane, or air in a tu i}be is the thing that is vibrating, and the player usually has a method for changing the frequency.But sounds are not so sim j}ple. Further analysis reveals that there are different kinds of vibrations. As when viewed with an oscilloscope, vibrations k} have another characteristic called a waveform. Square, triangle, and sawtooth are common waveforms. The waveform is one th l}ing that distinguishes the sound produced by a flute from the sound produced by a violin, even when the two instruments are p m}laying the same note.There is just one other essential characteristic remaining; volume. As a string is plucked or air is n}blown, the volume changes over a short period of time. This pattern of changing volume levels is called an envelope, and is o}usually divided into four parts called the attack, decay, sustain, and release. The attack describes how quickly a sound rea p}ches the peak volume and then decays to a sustain level, whereas the release tells how the volume fades away.The frequency, q} waveform, and envelope are all essential parts of a note, and a sequence of notes creates music. Electronic music is merely r} a method of producing these qualities of sound by electronic means, and a device which does this is called a synthesizer. T s}heoretically, it is possible for a synthesizer to imitate any musical instrument, or to produce sounds never heard before.A t}lthough the actual process is much more complicated than described here, some individuals have made some incredible accomplis u}hments in the field of electronic music. The first significant record of electronic music was Switched - On Bach by W. Carlo v}s. Other notable names are Tomita and Synergy.HOW ATARI COMPUTERS MAKE SOUNDSThe POKEY chip, which handles serial communi w}cation and keyboard decoding, also contains four countdown timers which can act as sound channels. Each channel can have its x} own frequency, noise type, and volume.The noise type is sometimes incorrectly called the distortion, and there are six dif y}ferent types. Noise type ten is the most commonly used and produces a pure, square wave tone. Other noise types can be used z} for white noise and other special effects. Sawtooth and triangle waves are not available.Sixteen volume levels, including {} no volume, are possible. Each channel continually produces its sound, so duration must be controlled by the user.For more |} information, see chapter seven of De Re Atari, or in the HARDWARE MANUAL, chapter two, part B, and chapter three, part F.R }}UNNING THE PLAYER PROGRAMTo hear an example of what the POKEY chip can do, run the program named PLAYER by typing RUN "D:PLA ~}YER" in BASIC. A directory of all music files on the disk will be listed on the screen in four columns. Music files are tho }se which have a .V filename extension. In response to the prompt YOUR REQUEST? you should type the name of the song you want } to play. You do not have to type the .V extension. The song will load, the full title and credit information will be print }ed, and the song will start playing.YOUR REQUEST? LITTLE"LITTLE" FUGUE IN G MINORJ.S. BACHCOURTESY ROBERT HIGGINSWhen } the song is finished, you will be prompted for another selection. Here you would again enter a song name to load and play a }nother song.When entering a song name, you do not have to type all of the letters in the name. You only have to type the f }irst few letters, enough to distinguish the song name from any others that may be on the disk.If the requested file is not }@ BJKD@E V0LvG B V BzD@EHI VBIJDJEHI VL EJJ }@L E }Press to list document to screen, to print document. }Š嬠Ѡon the disk, the PLAYER will tell you that it does not know that song, and will ask for a new selection.If you press only R }ETURN in response to the song name prompt, the PLAYER will print a new directory. This is useful if the old directory has sc }rolled off the screen, or if you want to switch disks.To make a song stop playing early, hit any key on the keyboard. The }PLAYER will abort the current song and prompt you for a new selection.To end the program, press System Rest. The Break key } has been disabled.Available demonstration tunes cover a wide variety of music, from classical pieces to current hits. If }there is a strong-enough demand for it, ANTIC will release music libraries on disk for ENHANCED POKEY PLAYER and perhaps an A }dvanced Music System to Pokey Player file conversion utility. (There are approximately 1,000 AMS files in existence.) Let u }s know if you want us to release more ENHANCED POKEY PLAYER music files and utilities.,000 AMS files in existence.) Let u YENHANCED POKEY PLAYERDOCUMENTATION PART TWOby Craig ChamberlainNote: This section covers advanced music theory and techn}iques for composing music with ENHANCED POKEY PLAYER. Because of the total lack of space on either side of this disk, sectio}ns 2 and 8 are only available with the hardcopy version of the documentation, which you can get from Antic by sending $5.00 t}o Antic Arcade Customer Service (check or money order only, please). Make sure to specify that you want documentation for EN}HANCED POKEY PLAYER. However, unless you are a music student and want to learn about music theory and harmony, this document}ation is adequate and completely details the program's operation. Also, any local public library will also have a thorough s}election of books about music theory and composition.ENHANCED POKEY PLAYERDOCUMENTATION PART THREEby Craig Chamberlain}MULTIPLE VOICESWe have shown you the essential characteristics of individual notes, and have shown how notes can be combine}d into groups called measures. The music can then be sung or played on an instrument. The next step is to have several voic}es or instruments playing at the same time.A set of notes for one singer or one instrument is generally referred to as one }"voice." With two voices playing simultaneously, one voice can play a melody while the other voice plays a bass part to give} a little more body to the song. If a third voice is added, it can be used for percussion effects such as drums or cymbals.}Each voice is independent of the others, and can play its own notes of different pitches and durations. This brings to ligh}t only one problem; there must be a means of keeping the voices synchronized. They should start together, and end together. } Fortunately, the concept of tempo and the use of measures solves this problem. The voices may be independent, but one thing} they must have in common is the tempo. The tempo establishes a beat which all voices can follow. The notes in each voice a}re divided into measures. Then, even though the durations within a measure may differ for each voice, at least the voices wi}ll always be on the same measure at any given instant.(example)The horizontal direction of the grand staff corresponds to} time. Because multiple voices are synchronized according to tempo, it is possible to represent more than one voice on just }one grand staff. Within each measure are drawn the notes for all of the voices. It is a rather simple matter to determine w}hich notes go with which voice. Usually, the topmost notes are for the first voice, the notes below those are for the next v}oice, and so on, with the bottom-most notes being for the last voice.(example)CAPABILITIES OF THE POKEY PLAYER MUSIC SYST}EMPokey Player can handle up to three voices playing together. Each voice has its own pitch, duration, volume, and waveform}. The first two voices, called "secondary" voices, have a five and a half octave range, from C1 to F6. The third voice, whi}ch has a full range from C0 to C8, is called the "primary" voice. Durations can range from whole notes to thirty second note}s, with optional dots. Volume levels are from 0 to 15, with 15 being the loudest and 0 being "off." The only waveforms supp}orted by the POKEY chip are square wave and white noise. A wide range of tempo choices are available, from 56 to 300 beats p}er minute. Notes can be tied or slurred. Rests can be used. Finally, notes can be grouped into measures.MUSIC CREATION P}ROCESSTo help you enter, edit, and debug music, three programs, Editor, Compiler, and Vmerge, are provided. Music prepared }by using these programs can then be played by the Player.The first step is to create a music source file for the first voic}e. The Editor lets you enter notes using a joystick. You can insert, delete, and replace notes as needed. When you are don}e, you save the voice to disk as a music source file.The next step is to use the Compiler to compile the voice into the mor}e compact size that is needed by the Player. The compiled file is usually almost half the size of the source file. Another }ENHANCED POKEY PLAYERDOCUMENTATION PART FOURby Craig ChamberlainTHE EDITORTo use the Editor, from BASIC type RUN "D:EDI}TOR". (THE EDITOR IS ON SIDE TWO OF THE PROGRAM DISK -- WITH VMERGE AND DYNABYTE. MAKE SURE THAT THE CORRECT SIDE OF THE PR}OGRAM DISK IS IN THE DRIVE.) The screen will be blanked at first, and a little while later a full screen will appear. The E}ditor is a graphically complex program, using redefined characters, players, and display list interrupts, so it takes a while} to initialize. When it is ready, it will play a middle C note.The first thing you will notice about the Editor is that th}e screen is divided into different levels. The top level is used for text lines and message prompts. The next level has the} word REST on it. This level will be used to enter rests. The main level is where notes are selected. This is the default }level, and will be highlighted in a bright white color. The main level displays the current pitch in three different forms; }as a note on the grand staff, as a piano key, and as a letter and octave number. The level below the main level is used to s}pecify durations. The next level is used to select a tie or slur. The bottom level contains a box in which entered notes wi}ll appear.USING THE JOYSTICKThe method of using the joystick is as follows:1) push the stick up or down to move to a dif}ferent level2) push the stick left or right to change a parameter within a level3) press the trigger at any time to enter a} notePITCHWhile you are in the main level, pushing the stick left and right changes the pitch. The quarter note on the gr}and staff will move, the next key on the piano will be indicated, and the written display will change. A full eight octaves }is available just by pushing the joystick. Notice that all twelve pitches in an octave are available. Some of the accidenta}ls are labeled as sharps, others are labeled as flats, depending on their most common usage.Take a moment now to enter a fe}w notes. Just select a pitch and press the trigger. A note will appear in the box in the bottom level, and then scroll to t}he left. The note looks like a quarter note, which is the current duration, and has the pitch and octave number written abov}e it. As you enter more notes, each one will appear in the box, and all will then scroll to the left to make room for the ne}xt one. If you press the trigger twice without changing the pitch, the pitch of the previous note will be used.DURATIONMo}ve down to the level which shows the durations, and switch to a different duration by pushing the stick left or right. Notic}e that all durations also have a dot option, except the thirty second note. Now press the trigger. The note that appears in} the box will be in the current pitch, but with the new duration.You do not have to be in the main level to enter a note; a} note can be entered from any level. You have to go to the main level only if you want to change the pitch. However, if you} are in a level other than the main level when you press the trigger, the Editor will return to the main level after the note} is entered.RESTTo select a rest, move up to the line which displays the word REST and push the stick either left or right}. The note name in the main level will change to read "RST." Any notes now entered will be rests. The rest mode stays in e}ffect until canceled. To cancel the rest mode, either move up to the line and push the stick left or right again, or change }the pitch while in the main level. Changing only the duration does not affect the rest mode.TIE/SLURThe tie/slur mode wor}ks a little differently. Like the rest mode, it is selected by moving to the level and pushing the stick either left or righ}t. The word TIE will change color. The major difference is that the tie/slur mode is automatically canceled when a note is }entered. To cancel it without entering a note, move the stick to the tie/slur level and push the stick left or right again.}SCROLLINGWhile entering notes, if you make a mistake, it is easy to go back and correct it. Move to the bottom level, wher}e the notes are displayed, and push the stick to the left. All of the notes will scroll to the right. The note which scroll}ed off the screen will appear at the left edge, and the most recently entered note will move back into the box. As you conti}nue to scroll, the current pitch and duration, and rest and tie/slur modes, will change to reflect each note that appears in }the box. Keep scrolling until the note which needs to be changed appears in the box. Now select the correct pitch, duration}, and other features, and press the trigger. The old note will be replaced with the new one. You can now push the stick to }the right to scroll back to the end of the voice and continue entering notes.Due to a bug in the Editor, the note at the fa}r right may not be displayed completely after replacing a note. The note is still there, and will set the parameters correct}ly when it appears in the box. It's just that part of the note is not displayed. If you still prefer to see the entire note}, just scroll it off and back on the screen.INSERTIf you miss a note and need to insert a note between two others, an inse}rt feature is available. Scroll until you reach the point where a note should be inserted. The note that appears in the box} is the one that will be to the right of the note to be inserted. Next, press CTRL-INSERT. The note in the box, and all not}es to its right, will scroll to the right, creating an opening in which you can enter a note. If necessary, you can insert s}everal blanks. The only thing you can not do while blanks exist is scroll. You must fill in all the blanks to make the voic}e complete again before adding new notes at the end.DELETETo get rid of extra notes or blanks, press CTRL-DELETE. The not}e or blank that is currently in the box will be deleted, and the notes to its right will scroll to the left to fill in the ga}p.CLEARTo erase the entire voice, press CTRL-CLEAR. Since this command can be rather destructive if done accidentally, yo}u will be asked for a confirmation. Press Y in response to the prompt. Typing any other key will abort the clear feature.}MOVING TO THE ENDS OF THE VOICEOften it is necessary to move back to the beginning of the voice. Other times it would be ha}ndy to quickly move back to the end of the voice, to continue entering new notes. In these situations, use the B and E keys.} Pressing the B key will immediately take you to the first note in the voice. Likewise, pressing the E key takes you to the} last note.MEASURE MARKERSTo help you keep your place in a voice, measure markers are available. Press the M key. The ne}xt measure number will be printed in parentheses at the top of the screen. This number starts out at one. To select that me}asure number, press RETURN. The measure marker will appear in the box, much like a normal note, and scroll to the left. The} next time that you use the M key, the default value will be one greater than the last measure number. Measure numbers from }0 to 511 are available. If you want a measure number other than the default value, type the desired number before pressing R}ETURN. To abort the feature, enter the number 512.MEASURE SEARCHThe real advantage to using measure markers is that the E}ditor can search for a specific measure marker and move to that point in the voice. This is like the B and E keys, except th}at now you can quickly move to someplace in the middle of the voice. To search for a measure, press the TAB key. Enter the }measure number when prompted. The Editor will search the voice from the beginning until it finds the requested measure. If }the measure is found, the Editor will move to that marker. If the Editor does not find the measure before it reaches the end} of the voice, no action will be taken. To abort a measure search, press only RETURN in response to the measure number promp}t.TEMPOThe tempo command is usually the first thing in a voice. When you press the T key, the top level will ask you for }a tempo number. The available tempo selections are listed here.KEY M.M.0 561 60 (no thirty second note)2 }643 69 (no thirty second note)4 755 82 (no thirty second note)6 907 100 (no thirty second note)8 } 1139 128 (no thirty second note)A 150B 180 (no thirty second note)C 225D 300 (no thirty second note})When you press one of the designated keys, the Editor will display the M.M. value and the restrictions, such as whether a }thirty second note is allowed. Notice that some tempo selections do not support the use of the thirty second note. Once you} have chosen the tempo you want, press RETURN to enter the command. Press any key other than 0 to 9 or A to D and then RETUR}N to abort this feature.NOISE AND VOLUME PARAMETERSPress the P key to select the command that sets the noise and volume of} the voice. The first prompt asks you for a noise number. For now, use noise ten, which produces a pure tone and is the def}ault noise for the voice if none is specified. After you enter the number 10, you will be asked what volume level you want. } The default volume level for a voice is six. For best results, do not exceed level eight if all three voices will be playin}g at the same time. Volume levels beyond ten are not recommended in any situation. When you type the volume number and pres}s RETURN, the command will be entered. Press only RETURN to abort this feature.VOICE ENDThe end of a voice requires speci}al handling. First, press the H key to enter a halt command. The command is entered immediately because it has no data valu}es. Then, enter a quarter rest. This ensures that the voice is quiet when the Player stops playing the music. The halt com}mand and the quarter rest are required, in that order, at the end of each voice.STANDARD VOICE FORMATA typical voice will }always start with a tempo command. If no tempo is specified, M.M. 100 is assumed. The next command should be the one to set} the noise and volume. This command is also optional, and if it is not used, the Player will use noise 10 and volume 6. Aft}er these two commands comes a series of measures. Each measure should start with a measure marker. The end of the voice mus}t have a halt command and a quarter rest.LOADING A VOICETo see an example of a source file, let's load the voice which has} the melody part for the song BLUES. The melody is on the primary voice (voice three) and the disk contains the file BLUES.S}3. To load a file, press the L key, and then press D or C, depending on whether you are using disk or cassette. If you are }using a disk, you will be prompted for a filename, which would be BLUES.S3 without the D:. When you press RETURN, the file w}ill start to load. If an input/output error occurs, the Editor will print an error message. Otherwise, if the load was succ}essful, the old voice will be cleared and the new source will be in memory. Remember, loading erases the file currently in m }emory. After the load, the Editor will be pointing at the last note in the voice. Use the B key if you want to examine the  }voice starting at the beginning.SAVING A VOICEIf you have entered a new voice and want to save it, or have modified an old } source and want to save the updated version, use the save command. This command works just like the load command, except th }at the file is written from memory to disk or cassette, and the file in memory is untouched.EXITWhen you are done using th}ENHANCED POKEY PLAYERDOCUMENTATION PART FIVEby Craig ChamberlainTHE COMPILERThe purpose of the compilation step is to }compact the music file. The advantages of a smaller file are that it loads faster and takes less space on a disk. In fact, }you will probably run out of directory entries (the directory can hold a maximum of 64 filenames) before you run out of free }sectors.The Compiler is the only one of the three editing programs that is written entirely in machine code. It cannot be }loaded from BASIC. Instead, type DOS to go to the DOS menu, and use item L to load a binary file. Type COMPILER.OBJ in resp}onse to the filename prompt. The file will load and automatically start to execute.The Compiler will ask you four question}s.1 INPUT DEVICE: OUTPUT DEVICE: COMPILATION:PRIMARY or SECONDARY (P/S)3If you wanted to compile the source for v}oice three of the BLUES song, you would type D:BLUES.S3 for the first prompt. The compiled form of the voice should then go }to D:BLUES.V3, which is your response to the second prompt. You must use a filename extender of .V followed by a number if y}ou are working with a disk.Generation of a compilation report is optional. The advantage of not generating a report is tha}t the compiling will go much faster. If you do not want a report, just press RETURN in response to this prompt. Otherwise, }type E: if you want the report to go to the screen editor, or type P: if you want to send it to the printer.Voices one and }two are considered "secondary" voices because they do not support the full eight octave range. Only voice three, which can p}lay notes from C0 to C8, is considered a primary voice. Press the S key if you are compiling voice one or two, or press the }P key if you are compiling voice three. As soon as you press the key, the compiling will begin.Let's examine the informati}on given in a compilation report. You will see a lot of numbers in columns. The first column is the current byte number. T}his number is incremented every time another byte is compiled, and is useful in advanced applications.The next number is th}e running frame count. A frame, also known as a "jiffy," is a unit of time. One frame is exactly one sixtieth of a second. } Each duration, from a whole note to a thirty second note, plays for a certain number of frames, according to the current tem }po. As notes are played, the total frame count keeps increasing. Special commands like the one that sets the noise and volu!}me do not have a duration, so the running frame count will not change for these commands.The next two columns are the actua"}l byte value that has just been compiled, printed in decimal and hexadecimal form. Again, this information is more useful in#} advanced applications.After these columns of numbers have been printed, any remaining text depends on whether the Compiler$} is working on a note or a command. If a note is being compiled, you will see the octave number, pitch, and duration. The p%}itch is printed as a letter (C to B) and an accidental if there is one. The plus sign is used to indicate a sharp note, and &}a minus sign means that the note is flat. No symbol is printed for a natural note. Only one letter (W, H, Q, E, S or T) is '}printed for the duration. If the note is dotted, a letter D will appear further to the right. If the note is tied, a letter(} T will appear.Occasionally you will see a byte compiled which says -1 or 2 or some other number in the octave column, and )}no other information. Sometimes the Compiler produces bytes which are not labeled at all. These bytes are used only by the *}Player, and you can just ignore them.Different commands are handled in different ways. The tempo command will be printed a+}s PPTEMP with the M.M. value in parentheses, followed by several unlabeled lines.The command to set the noise and volume pa,}rameters is called PPPARM. The numbers in parentheses are the noise and volume, in that order. This command is followed by -}two unlabeled lines.The halt command is printed as PPSTOP. This command does not have any data values.A measure number g.}ets special treatment. First, the Compiler prints a blank line to separate the measure from the previous one. Then it print/}s the message MEASURE NUMBER followed by the number of the measure. This makes it easy to quickly locate a specific measure 0}in the report.When the Compiler reaches the end of a measure, it prints the total number of frames for that measure only. 1}This is an extremely helpful debugging tool. All measures should have the same number of beats, so they should all have the 2}same total number of frames. If you missed a note or perhaps entered one twice, a quick look at the compilation report will 3}tell you this right away.While compiling, the Compiler checks for one other kind of error. The Editor lets you enter notes4} from C0 to C8, even if you are working on a secondary voice, which has a smaller range (C1 to F6). If the Compiler finds a 5}note to be out of range when it is compiling a secondary voice, it will stop with an error message.The Compiler is always w6}atching for standard input/output errors. The most common errors are 138 (device timeout) and 170 (file not found). If an e7}rror occurs, the Compiler will print an error message and stop. To rerun the Compiler, press the Start key. The Compiler wi8}ll automatically rerun when it has compiled a voice without error. To quit the program and return to BASIC, press System Res9}et.Be aware that if the Compiler detects an error when no report is being generated, the error will not be printed and the :}program will simply wait for you to acknowledge the error by pressing the Start Key.A sample compilation of BLUES voice thr;}ee has been provided. Notice that due to a peculiarity in the song, one measure is only two beats instead of four, and the m<}easure frame count reflects that difference.culiarity in the song, one measure is only two beats instead of four, and the m.ENHANCED POKEY PLAYERDOCUMENTATION PART SIXby Craig ChamberlainTHE VMERGE PROGRAMThis program takes the .V1, .V2, and >}.V3 compiled files for one song and combines them into one file. This is done so that the Player only has to load one file. ?} Also, if there were three files for every song on a disk, the available entries in the directory would be used up too fast.@}When you run Vmerge from BASIC (VMERGE s on side 2 of this disk), the program will ask you for the music filename. Type onlA}y the name of the song, without the D: or any extension. When you press RETURN, the program will load three files, using theB} specified filename with the extensions .V1, .V2, and .V3. These three files must be on the current disk. Vmerge will then C}create a fourth file, using the specified filename with an extender of just plain .V.Even if you want to play just one voicD}e, compiled files for all voices must exist. The way around this problem is to compile a "dummy" file that consists only of E}rests. For example, if you want to play only the melody line of the BLUES piece, which is on voice three, enter enough wholeF} rests and save them as source files .S1 and .S2.The last thing Vmerge does is prompt you for text lines. These are optionG}al, and are normally used when you are merging the final version. If you do not want to enter text lines, just press RETURN H}and the program will end. When text lines are used, the standard format is: one or two lines for the full title of the song,I} one line identifying the composer, and one line crediting the person who entered the song. Press RETURN an extra time afterJ} you have entered the last line of text.Once the .V file has been completely written and the program ends, the song is readK}y to be played by the Player. If you need to make changes to a voice, use the Editor to change the source, save the revised L}version, recompile, and run Vmerge again. You do not, however, have to recompile the other sources that were not changed. TM}herefore, it is a good idea to keep the three .V files until the song has been completed. sources that were not changed. T[ENHANCED POKEY PLAYERDOCUMENTATION PART SEVENby Craig ChamberlainADVANCED FEATURESThe Pokey Player system has a few ot!O}her special features that are used in advanced applications. This part of the documentation shows you how to reduce the numb!P}er of notes entered by using repeats, how to use white noise for a percussion effect, and how to do detuning to get another i!Q}nteresting type of sound.REPEATSAs you listen to a piece of music, you can sometimes hear that a group of measures is play!R}ed more than once. Repetition occurs often in music, especially in contemporary songs. So that the repeated measures do not!S} have to be written twice, special symbols are used in sheet music to indicate that certain measures are to be repeated. The!T} symbol that marks the beginning of a repeat consists of two vertical lines followed by two dots. The end of a repeat is mar!U}ked by a symbol that looks almost the same, except that the dots come before the double lines, instead of after them. (Edi!V}tors Note: If you're interested in music theory and composition, your local library will have many illustrative books that w!W}ill enhance using this aspect of POKEY PLAYER.)When the music is played and you come to the first repeat symbol, the playin!X}g continues as usual. However, when you come to the end of the repeat, instead of continuing to the next measure, playing ju!Y}mps back to the measure which had the beginning repeat symbol, and continues from that point. When you come to the end repea!Z}t mark the second time around, you ignore it and continue with the next measure. Normally a sequence of notes is repeated on![}ly once. There are, however, cases where a voice may repeat several times, such as in a bass line.The Editor has a special!\} command to support repeats, so that you don't have to enter the same notes twice. When you press the R key, the Editor will!]} display a beginning repeat symbol in the top level, and ask you to press RETURN. It will then ask you how many times the se!^}quence of notes is to be played. In a standard repeat, the notes are repeated once, meaning that the sequence is played a to!_}tal of two times, so you would normally type the number 2. Upon pressing RETURN the command will be entered, and you can con!`}tinue entering notes. At the end of the repeat, press the R key again. This time the symbol is for a repeat end, with dots !a}to the left of the lines. Press RETURN to enter the command. When the Player later plays this voice, it will play the note !b}sequence the designated number of times.The number that is entered for the beginning of a repeat can range from 0 to 255. !c}You will probably never need to use values larger than about 30. The number 1 means that the sequence should be played only !d}once, which would seem to make the repeat structure unnecessary. A value of 1 is used only when you are developing a piece o!e}f music. If you keep replaying a song to listen for bad notes at the end, you don't want to wait for repeats earlier in the !f}song, so use the number 1 at first and remember to change it to the correct value before you compile the final version. The !g}number 0 should not be used, because it will make the voice repeat forever.Repeats cannot be nested. Whenever you have a r!q}B'DOS SYSBGAUTORUN SYSGOUTLINE TXTBP+DOC 000B'DOC 001B^DOC 002B0 DOC 003B=DOC 004BTNDOC 005B,DOC 006BCONCLUDETXTBCOMPRPRTTXTB TEMPO TXTBEDITOR BCOMPILEROBJBVMERGE B DYNABYTE BPLAYCODELSTBBLUES S1 BBLUES S2 BBLUES S3 BBLUES V1 BBLUES V2 BBLUES V3 BBLUES V BSABRE V BTHEMEVARV BCAPRICIOV BHOLST V B SCAR V BTPIAM V B CLAV V B HUMORESKV BSCHERZADV BTPIBF V BCOURANTEV BITALIAN V BSCIPIO V B TPIF V B CSONATA V B LITTLE V BSLP1 V B$WILLTELLV B)DMARCH V B-LONDON V B 1SLP2 V B:WSOLDIERV BAFEAST V BGMINUET1 V B.LAUTOPLAY BVzDOC 000epeat beginning, it has to be later followed by a repeat end before another beginning can be used. It is okay for a voice to!r} contain several repeats; you just cannot have a repeat inside a repeat. However, each voice can have its own repeat, so eac!s}h one can repeat independent of the others.When repeats are used properly, there should be one repeat end for every repeat !t}beginning. If the Player encounters a repeat end with no corresponding repeat beginning, it will repeat forever back to the !u}previous repeat beginning. If no repeat beginning has been used at all on the current voice, the Player will repeat forever !v}back to the beginning of the voice.Occasionally you will find that a repeat has a first and a second ending. This means th!w}at one set of notes should be played at the end of the sequence the first time through, and a different set should be played !x}the second time through. The simple repeat structure of the Editor cannot handle this kind of repeat, so in this case you wi!y}ll have to enter some notes twice.Sometimes you may find a measure that contains nothing but a slash mark with a dot to eit!z}her side. This is called a "simile," and means that the measure should be played exactly like the preceding measure. Repeat!{}s can help out here, too, because it is just as easy to repeat a single measure as it is to repeat a group of measures.Othe!|}r forms of repetition include da capo and dal segno. Da capo is indicated in sheet music by the letters D.C., and it means t!}}hat the playing should jump back to the beginning of the voice and continue from there, this time ignoring all repeats. The !~}playing may be stopped before the end of the music by the use of the word FINE.Dal segno, identified by the letters D.S., m!}eans that playing should jump to the measure marked by a special sign. This sign looks like a slash with dots to either side!}, passing through a fancy letter "S". Playing continues from this point, and will stop at either the end of the music or at !}a FINE, whichever comes first.There is one other symbol that is often encountered when da capo or dal segno has been used. !} After playing has jumped back to the beginning of the voice or to a particular measure, you may encounter the message "To Co!}da" followed by a coda symbol. The coda symbol looks like a letter "O" with a cross passing through it. This means that pla!}ying is going to jump to another place again, but this time, instead of jumping back, the jump skips ahead. At the end of th!}e sheet music you should find some measures labeled as "Coda," with the coda symbol shown again. Playing jumps to the first !}of these measures, and continues until the end of the song.WHITE NOISEFor a percussion effect, such as a snare drum, a voi!}ce can be made to produce white noise instead of a pure tone. White noise is actually an equal mixture of all of the frequen!}cies the human ear can hear. All frequencies at the same volume. The Pokey chip is capabile of generating all of its freque!}ncies at the same amplitude. The best way to simulate percussion effects with white noise is to use short bursts of sound. !}Different combinations of bursts can be made to sound like a snare drum. No other "percussion effects" are really possible w!}ith the Pokey chip. The Editor command that sets the volume also sets the noise type. The notes F sharp 6 to C7, which ar!}e not normally used on a secondary voice, have been reserved for use with white noise. Thus, playing percussion notes involv!}es changing the noise type and playing special notes.While in the Editor, press the P key to change the noise and volume pa!}rameters. Specify noise 8 instead of noise 10. Use a normal volume level. After this command place several notes of short !}duration, using a pitch such as B6. Eighth note and sixteenth note durations work best. You will still hear ten pitches as !}the notes are entered, because the change to white noise is handled only by the Player. By playing a few of these notes inte!}rspersed with rests, you can create various interesting patterns. Such a pattern would be ideal for use in a repeat. Even s!}omething as simple as a four or eight beat pattern that keeps repeating can add a nice touch to a song.Different kinds of w!}hite noise can be obtained by playing different pitches in the range F sharp 6 to C7, and by using noises 0 or 4 instead of n!}oise 8. To switch back to normal playing, just change the noise back to 10.Best results are obtained when you use voice on!}e or two. Save the precious primary voice for a melody line which may require the extended range.The songs BLUES and HBDAY!} are two examples of how white noise can be used.DETUNING (or Phase Shifting)Normally, you should never let two voices pla!}y the exact same pitch at the same time. When this happens, the two voices can cancel each other out, and no tone will be pr!}oduced. However, if one of the voices has its pitch adjust up or down a little bit, the two voices will not "lock up," and i!}n fact will create an eerie type effect, something like a slightly out of tune piano. If the two voices then play the exact !}same sequence of notes, while one voice is still detuned, you will get an interesting kind of sound that can be used to creat!}e a special effect. Remember the introduction sound for Defender? Well, that's detuning. However, if you introduce a small!} amount of detuning between two parts playing the same melody lines, the notes will go in and out of phase with each other. !}It is possible to make two voices sound like a chorus if you get really goot at phase shifting.The one remaining special fe!}ature in the Editor is the frequency offset command, which lets you slightly detune a secondary voice. This allows generatio!}n of frequencies between the normal half step notes. Press the O key, and enter a number from 0 to 255 in response to the pr!}ompt ENTER OFFSET AMOUNT. Usually a small number from 1 to 4 is satisfactory. Using larger values may detune the voice by m!}ore than a half step. A value of 1 causes the frequency for the current voice to be decreased just slightly. To increase th!}e frequency, type the number 255 for -1, 254 for -2, and so on. The command will be entered when you press RETURN.To use d!}etuning, enter some notes into the Editor and save them as one voice. Go to the beginning of the voice, insert the frequency!} offset command, and save the voice to a different source file. When that voice is compiled, the offset command will be list"}ENHANCED POKEY PLAYERDOCUMENTATION PART NINEby Craig ChamberlainTHE DYNABYTE PROGRAMWhen a note is played, it increase%}s in volume according to the attack rate, reaches a sustain level, and stays there until it releases, when it fades away in v%}olume. The changes in volume help distinguish notes of the same pitch from each other. If there was no release, the volume %}would always stay at the sustain level, and the music would have a smooth, flowing feel. This effect is called "legato." On%} the other hand, if the volume began to release soon after the attack, the notes would sound very short and choppy. This sty%}le is called "staccato." Staccato notes are designated by placing a dot above or below them. One feature missing from the E%}ditor is that although notes can be played legato by using ties, there is no easy way to achieve the staccato effect.Anothe%}r missing feature is that there are not a whole lot of tempo selections available. Of those that are available, some do not %}support thirty second notes or triplets.The Editor and Compiler provide no means of getting around these problems. However%}, the Dynabyte program can be used to change a voice after it has been compiled, opening up a few new possibilities.Take a %}look at a compilation report for a voice which uses the command that sets noise and volume parameters. The first line is ide%}ntified as PPPARM, and the compiled byte is always an 8. The next byte contains the noise and volume information. The third%} byte tells the release point. This number is always one greater than the volume level. If the volume is being set to 5, th%}e number for the release point will be 6. This means that the release will begin six frames from the end of every note. A q%}uarter note in M.M. 100 has a duration of 36 frames, so the note will be at the specified volume for the first 30 frames, and%} then start to fade, one volume level per frame.(Editors Note: The release point is the last stage of the audio envelope. %} The audio envelope is made up of Attack, Decay, Sustain and Release. The Pokey chip is extremely limited in the ADSR contro%}l category, and we recommend that you exploit all of the features found in the Dynabyte program to get maximum results from P%}OKEY PLAYER.)By adjusting the release point, you can get different types of effects. For example, using the number 0 means%} that the notes will never release, and the voice will be completely legato. Using a value of 255 means that each note will %}start to release as soon as it is played, thus producing a staccato effect. Values between 0 and 255 produce effects that ar%}e between these two extremes.To change the release point, RUN the Dynabyte program. It is a BASIC program, and it's on sid%}e 2 of this disk. Answer the device specification prompt by typing "D:" and the filename of the compiled voice to be changed%}. This must be a .V1, .V2, or .V3 file. Dynabyte must be used to change a compiled voice before it is merged with others.%}After the file is loaded, you will see a question mark. The program wants to know which byte is to be changed. The compilat%}ion report gives the number for each byte in the file in the first column. When you enter the byte number, Dynabyte will tel%}l you what the current value is, and ask you what the new value should be. If you do not want to change the value, just pres%}s RETURN. Otherwise, enter the new value.Dynabyte will return to the question mark, waiting for another byte number. You %}can go and change other bytes if you want. If you are done, just press RETURN. Dynabyte will ask for a device specification%}. Type the same filename as before. The updated file will then be saved. You are now set to merge the voices using Vmerge.%} Of course, every time that you recompile the voice, you will have to use Dynabyte again.Dynabyte can also be used to chan%}ge the tempo command, which is labeled as PPTEMP in the compilation report. The first byte will always be a 32. The next se%}ven bytes are the frame counts for the various durations. The durations start with the thirty second note and continue up to%} the whole note. The last byte is the frame count for the eighth triplet. If you want to change the triplet into a differen%}t duration, perhaps a sixteenth triplet, calculate the correct frame count and change the last byte of the tempo command. An%}other possible duration is a sixty fourth note.The reason that some tempo selections are not available is because the frame%} counts cannot be divided down far enough. In M.M. 120, which is not normally available, an eighth note is 15 frames. It is%} not possible to evenly divide the number 15 by two for a sixteenth note. However, if a piece of music does not contain any %}sixteenth notes, this tempo can be used. You will have to change every byte in the tempo command, following the tempo sheet.%} Use a zero for those durations which are not available.Although it is not possible to play a sixteenth note in M.M. 120, %}it is possible to play a pair of sixteenth notes. Keep in mind the fact that an eighth note plays for 15 frames. Instead of&}CLOSING REMARKSThis concludes the documentation for the Revised Pokey Player. The Editor was written by Harry Bratt, and th)}e Compiler and Player were written by Craig Chamberlain.Pokey Player was written to put the POKEY chip through its paces. )}The authors have given you a very capable music tool to do just that. Now it is your turn to put Pokey Player through its pa)}ces. We look forward to hearing the results.Song contributions are greatly appreciated. Please mail them to:Craig Chamb)}erlain17094 DunblaineBirmingham, MI 48009tion for the Revised Pokey Player. The Editor was written by Harry Bratt, and th(,POKEY PLAYER COMPILATION REPORT00001 00000 032 20 PPTEMP (180)00002 00000 000 00 00003 00000 005 05 00004 00000 010 0A-} 00005 00000 020 14 00006 00000 040 28 00007 00000 080 50 00008 00000 000 00 00009 00000 008 08 PPPARM (10,6)00010 000-}00 166 A6 00011 00000 007 07 MEASURE NUMBER 100012 00000 128 80 -100013 00020 044 2C 2 G Q 00014 00020 132 84 +10-}0015 00040 068 44 3 G Q 00016 00060 044 2C 3 D Q 00017 00080 084 54 3 E Q ** DURATION ** 80 FRAMESMEASURE-} NUMBER 200018 00100 092 5C 3 G Q 00019 00120 068 44 3 G Q 00020 00140 068 44 3 G Q 00021 00160 012 0C 3 -}F+ Q ** DURATION ** 80 FRAMESMEASURE NUMBER 300022 00180 004 04 R Q 00023 00200 020 14 3 E Q 00024 00220-} 044 2C 2 B Q 00025 00240 092 5C 3 D Q ** DURATION ** 80 FRAMESMEASURE NUMBER 400026 00260 084 54 3 E Q -}00027 00280 068 44 3 E Q 00028 00300 068 44 3 E Q 00029 00320 020 14 3 D Q ** DURATION ** 80 FRAMESMEASUR-}E NUMBER 500030 00340 020 14 3 C Q 00031 00360 068 44 3 C Q 00032 00380 044 2C 2 G Q 00033 00400 084 54 2-} A Q ** DURATION ** 80 FRAMESMEASURE NUMBER 600034 00410 091 5B 3 C E 00035 00420 067 43 3 C E 00036 0043-}0 067 43 3 C E 00037 00440 075 4B 3 C+ E ** DURATION ** 40 FRAMESMEASURE NUMBER 700038 00460 076 4C 3 D Q -}00039 00480 068 44 3 D Q 00040 00500 044 2C 2 A Q 00041 00520 084 54 2 B Q ** DURATION ** 80 FRAMESMEASU-}RE NUMBER 800042 00540 220 DC 3 D Q T00043 00560 148 94 3 C Q T00044 00580 140 8C 2 B Q T00045 00600 148 94 -}2 A Q T** DURATION ** 80 FRAMESMEASURE NUMBER 900046 00680 022 16 2 G W 00047 00680 120 78 PPSTOP00048 00700 0-}04 04 R Q TOTALS: 48 BYTES, 700 FRAMES2 20 PPTEMP (180)00002 00000 000 00 00003 00000 005 05 00004 00000 010 0A,0TEMPO CHART FOR 60 HZ PLAYERM.M. W H Q E S 32 64 E/3900 16 8 4 2 1 -600 1} 24 12 6 3 - - 2450 32 16 8 4 2 1360 40 20 10 5 - -3001} 48 24 12 6 3 - 4257 56 28 14 7 - -225 64 32 16 8 4 2 1} 1200 72 36 18 9 - - 6180 80 40 20 10 5 -163 88 44 22 11 - 1} -150 96 48 24 12 6 3 8138 104 52 26 13 - -128 112 56 28 14 7 1} -120 120 60 30 15 - - 10112 128 64 32 16 8 4 2105 136 68 34 1}17 - -100 144 72 36 18 9 - 1294 152 76 38 19 - -90 160 80 40 1} 20 10 585 168 84 42 21 - - 1481 176 88 44 22 11 -78 184 92 461} 23 - -75 192 96 48 24 12 6 3 1672 200 100 50 25 - -69 208 104 1}52 26 13 -66 216 108 54 27 - - 1864 224 112 56 28 14 762 232 116 1} 58 29 - -60 240 120 60 30 15 - 2058 248 124 62 31 - -56 256 121}8 64 32 16 8 4.M. W H Q E S 32 64 E/3900 16 8 4 2 1 -600 0`GGNNNTEDFSLTIEINSTEMINMAMSCOCLNCLOTMUOSESEPSENRSSKINTNNCHANGMOVINTICIONHN5}LLSLDOTLPNNIDP 5} 5} !"#$%&'()*5}+,-./0123456789 :5}6-F:A,&@&A0+: AI ##@@K:hh;@(,;@c,;@5},;@,;@,;@,;@,;@E,;@,L'6-P:+I:,&AV,'@,6;$@,H-5}@0@L(K6-@6-@'6-@H36-@?6-@K6-@g76.-56 60 64 69 75 82 90 5}100113128150180225300---O67@C,.>:@,g67@D,.>:@,67@E,.>:@,@# 6.5}C (&&6.B C C#D E$E F F#G A$A B$B C 26.SAVING TOLOAD FROM<6.TIEFII6.?% 32ND & 16TH ' EIGHTH ( 5}QUARTER) HALF * WHOLE +,TRIPLETK06.>:AW,!67@,.067@,.P6-?:C:,<@,dMAIN ROUTINEi5}6-?:C:,<@H,k!6-@6-!6-@n-@0@(& o(6-R:,((T:,A5}p F:Ad,AUAs"@AxS @S%@AAAAAA5}PAc!6-%+"@,&+"@,O6-%@$+",&@$+"@,c"@A0Ah5}%(6-F:%Ah,(Ah%@ 6-6-?:C:,<@$,-@@E  ANOTE C5}HANGER6-6-)#-@"%%+!@,@)(s6-+ @,&+!@,'6-%E6-&+ 5},%+!@,s6-%@$+ ,&@$+!@,m%6-@&&@$+"@,?6-%+@&,$@5}U!@) c6-@&m A%6-?:C:,<, A0% A>-@@+6-$@%@6}>6.7<%@, ( -6-@:7@<@,,'6-+,-6--@@(*#-@"%%+!@6},@*(Ap(6- Ap qq6-@%@$++"@H* @,)+"@G*!6}@,)+"@I*!@,)+"@F* @,, 6-AV$+ @,&$6-?:C:,<,$,PROCESS KEYP6}RESS.83,125,76,254,255,666> AA1A@d>)@8"ATA:"A6}UA<"@vA>"A%A @"@AB"@rAC"@wA"6}D"@AE"@AF"@yAG"@pAUH)"AJ6}"@AK"A'A#L"@fA`N"@iA5 A REST#6-@6}&#-@@-@@  6-?:C:,<,1(RST#-@@ ' 1 A/6-6}6-@% A0/ A TIE#6-@&#-@(@6-?:C:,<,,,(7$@%@<$6 }@%@,%-@@@ % ASAVE & LOAD#Ah%#Ah@S-@6 }S(7@ $+"@v,%@<@ $+"@v,%@ ,8( ISK OR ASSETTE? ))@8(>:%A(,F6 }"@g6.C:*-@@<( PRESS F A@#@h A# AC-@@'( N6 }AME OF FILE06.D:4C67@,.O#67@<@,.>:@d,/6-?:C:,,O67@<@,.>:A,6 }"@vA!K6-P:'AV,$6-&$AV. A`K@@&*@*@0Y6}67@<@,. 76-?:C:,:AU,/6-6}9 A0 (67<,.>:,_-@!@_(7$@ %@<$@ %@,>:@0,>:$@%@6}1,++67%@<%@,.>:%A($,(\/ A@ ( 66-!-@(@6(7@6}<@,-6-%@-6-%+"$@%@,-@6-@ A #Ah%#6}Ap@ 96-%@#-@5@/ @9 A  Ai%2@@R@@96}-@@= _2@i A NOTE EDITOR%!!"@*!@A'++"$6}@%@* @A(A*116-%@$+ @,&@$+!@,/)!@!-@5@6})( 4-@ A 6!!"$@%@A9)#-@"%%+!@,@)(>O!-@6}5$+ @,@O6-&@$+!@,%@$+ @,H A M'!-$@%@&@'( R6}!-%@#@!( \6-@:7<,,^!!!A'* AUAa[ 6- A16-@:7%@<%@6},,A6-+!A',Q6-&A($[ Bf?"AU!-@@)(RST56-@? A1kJ6-6}!-@(@J(7$@%@<$@%@,p26-@&"6-P:'@,26-&$@uk96-@:7$@6 }%@<$@%@,,&@g]6-@$+ ,%%$@k6-@V&zr6-$@%@%G6-%@6!}$+!@,%@$+"@,X6-&F:Av,r6-AV$+ ,%#6-@ A0# A1 SUBR6"}.e A H6-@:7<,,% B1"AU[(>:@),>:@0,>:@0,e A @v!A's&A6#}'A ApApAA`AAEA"EA"Gv$26-@&"6-P:'@6$},26-&$@PP(7$@%@<$@%@,>:@),>:@0,>:@0,A!6-@:7%@<%6%}@,,16-+!A',A6-&$A(\6-P:'@,&6-+ '@,P(7$@ %@<$@ %@,T6&}\(.(\/$CLEAR NOTE MEM: 6.6-"6-@.6-:6--@6'}($#Ah%#Ah@V-@3(PRESS -Y- TO CLEAR MEMORY@)@L"@V A 6(}` A Ae-@@^(>:AU&+ @,,>:@),>:AU&+ @,,>:@(,b 6)}e$ LOAD4 A`*@@4 A `O)@)@-6-$AV%3!EA6*}@O A`r 6-"67@<@,.567$@,.P6-?:C:,:,67%@<%@,.>:64},+-@ @!6-@+ A 6-%@ AGO TO BEGINNING OF FILE-@65}(W-@3-@ %$@@I6-$@%@S A W 6-@ AE REP66}EAT#Ah%#Ah@(a-@ @(PRESS FOR >:@`%@$,M)@aAU67}A-67<,.>:A)%,/6-&+!,2AP<0(HOW MANY TIMES" A&0 BFC!668}7%@<%@,.>:,3-@ @96-C ApP% A6-@&% APZX (6-@:7<,,A69}(>:@`%@$+"A0,,M"A0U( X$d'$(@:7%@<%@,, '$i A Ax6:} HALTW-@ @ A 367<,.>:A(,W67%@<%@,.>:,Y6-%+"$@%@6;},+6-@=-@G A Y6-&+!,6-%@ AC8( >:@),>:@0,>:@06<},>:@0,@(C$ TEMPO#Ah%#Ah@:-@:( ENTER TEMPO NO. [ HEX 0 t6=}hru D ];-@@/(NO.= (= LIMITS:NO;6-@F)@26-&@H&@$+!@W,F"A6>}AP-@)@( 1 6- )!@+6-@16-k-@@(>:,.-@6?}@W(7$@%@<$@%@,k"@A04'@P:'@,.-@)@4(%6@} I0+&@,'@P:+&@,'@,B-@1@I(+,  A0#"@ A# A;6A}67<,.>:A1,567%@<%@,.>:,;6-"3-@ @ A) A3 A,X((=,6-@6B}:7%@<%@,,U(7$@%@<$@%@,X$@PARAMETERSJ#Ah%#Ah@T+-6C}@+(ENTER NOISE TYPE:Y#-@@ A#^--@-(ENTER VOLUME LEVEL:c4-@6D}@( 0-@@4hO67<,.>:A2,?67%@<%@,.>:$@%,I BO6-r6E}3-@ @ A`) A3 A|o!6-@:7%@<%@,,26-P:'@,A6-F:@,N(6F}Z@l(&$@o$ OFFSET#Ah%#Ah@/-@/(ENTER OFFSET AMOU6G}NT: AE67<,.>:A4,567%@<%@,.>:,? BE6-3-@ @ AE) 6H}A3 A((%(@:7%@<%@,, ($ FLAG#Ah%#Ah@--@6I}-(ENTER FLAG NUMBER: AE67<,.>:A3,567%@<%@,.>:,? BE6-6J}3-@ @ A) A3 A( AGMEASURE ##Ah%#Ah@6K}@-@@(ENTER MEASURE NUMBER [%@]:&46-%@& A"0& A6-O:P:A6L}:,,,& B!AA6-+!AU,M67<,.>:A7%,A67%@<%@,.>:&AV$,G66M}-M6-3-@ @ A"P) A3 A6- A"P6-@(ӣ2/(@:6N}7%@<%@,,%AV$ 2$TAB TO MS# #Ah%#Ah@ 3-@3(ENTER M6O}EASURE TO TAB TO:  A 6-O:P:,, B !AA! 16-+!AU,#6-&$AV16-%6P}A7$ %6-@%6-$@%@. 7<,4>:,A#`3 6-%@"A5 A#P8 ))7%@6Q}<%@,0>:,A#UB -@(16-+&@,'@; A#O-@c-$@@6R}}6-@$+%,&@ A  L - B-6-+%@,$@&@V  A AE$ VBI&U6S}AY'AA`9AAHKA@U#A)11;@X,;@,;@g,;@6T},.%-AwA"!% 3VBI INIT5 6.8--@@")67<,.>:,- B6-?:C:,,6U}L-@@X"V67<,.>:, `-AA"j  INITIALIZATION SUBR.9;@46V},96."hBhEhDhIhH Vԩ`9A 'A9AR@1 #A@6W}@d1B7t@d%%6-F:A`,%AV$F:Aa,;%@A`+-@@(/"7%; 6X}%-A6Ag"!% 'A'A@%-AhAv"!% DRAW SCR6Y}EEN -@@ (-REST---@@-(POKEY PLAYER EDITOR1-@@1(by Harry Bratt 7-36Z}0-83%-@@%( please wait((NOTE:C OCTAVE:4(-@#@((% & ' ( ) * +,--@6[}@-(>:@',>:@(,7&( LENGTH:( QUARTER --7tie IS INVERSE--@@")67<,.>6\}:,- F P.M.UBByZ6-$AV__-@@")67<,.>:,- ?ASA%6]}@_6-?:C:,,a4 6.-@@""067<,.>:,4 dQAA$'A3A?66^}-?:C:,,QAY@bfEA@2'A@9AE6-?:C:,,iI-@@+-6_}@/"A%$@%E I nI-@e@x+-@/"A%$@%E I xM-6`}@@"/-@3"E%$@%I M AV%6-%A$%AR'AV6a}B2H@9B2IA&'A@f9B2W@Q%ASAU+%ApAU?-A6b}TAiM%A)Q  MOVEM #A 6."-@@g",67<,.>:, 667@H6c}<@H,.>:, -@@11( >:@, MEMORY:00( >:@,>:@, >6d}:@,52(>:@%,>:@,>:@,________5(11(>:@%,>:@,>:@,________11(>:@%6e},>:@,>:@,  (%(>:@%, >:@,(("11(>:@%,>:@ ,>:@,________6f}$11(>:@%,>:@,>:@,________&(>:@, _ (( _(*( _/*@6g}@ '-@ @*(1(41-@@-( | 1 91-@@6h}-( | | | | | | 1 ;WASN'T THAT FUN?>(oB2w@$(#DL2#AA130,130,2,2,6i}2,2,2,2,2,2,2,2,2,6,128,130,7,2,6,144,134,2,1307# DLI<#ff72,152,72,164,205,177,203,141,10,212,141,26,208,141,24,208,230,6j}205,165,205,201,8,144,4,169,0,133F#205,104,168,104,64K#DLI COLOURSP# 6,246,10,246,6,246,6,148,0Z#88104,173,11,216k}2,201,0,208,249,169,192,141,14,212,96d#>>104,168,162,2,145,203,200,208,251,230,204,202,208,246,96n#NN104,168,162,4,177,206l}3,145,205,200,208,249,230,204,230,206,202,208,242,96#TT108,254,108,254,108,0,0,0,192,192,240,216,240,0,0,0,30,27,30,27,30,6m}123,248,240#VV30,27,30,27,24,120,248,240,30,27,24,24,24,120,248,240,24,24,24,24,24,120,248,240#SS12,12,12,12,12,124,2046n},248,0,0,0,0,120,204,204,120,31,24,24,24,24,123,255,247#%%254,198,198,198,198,222,254,188#LL0,0,0,7,12,24,24,24,0,0,0,16o}28,192,192,192,192,255,13,15,6,255,14,27,27#UU255,128,0,0,255,0,0,0,255,49,55,55,255,54,24,12,255,224,176,152,255,216,216,6p}240#JJ255,0,24,25,15,0,0,0,255,96,96,192,0,0,0,0,255,48,96,112,255,112,0,0#NN255,96,51,51,255,48,51,99,255,0,1,3,255,286q},112,0,255,192,128,0,255,0,0,0#))255,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0#80,3,0,0,0,0,0,0,0#89,3,3,3,3,3,3,3,3#6r}60,192,96,48,28,7,0,0,0#63,255,0,0,0,255,0,0,0#3314,0,0,0,0,0,0,192,192,15,3,6,12,56,224,0,0,0#((28,216,216,219,216s}6,216,219,216,216#""30,27,27,219,27,27,219,27,27# VBI#173,255,6,170,41,15,240#7,202,142,255,6,142,3$2106t},76,98,228$VBI INIT$104,240,3,76,116,228,169"$7,162,6,160,41,76,92,228,$ VBI USR6$ 104,201,1,240,3,76,1166u},228;$169,3,141,50,2,141,15,210@$ 169,0,141,1,210,169,80,141E$ 8,210,173,255,6,41,240,141J$ 255,6,104,104,170,186v}9,59,6O$141,0,210,189,156,6,141,2Q$ 210,173,255,6,9,15,141,255R$ 6,96T$NOTE DATAY$ LO BYTE^$ 209,223,237,6w}251,9,30,44,65`$$$79,100,121,149,165,189,217,245b$!!17,59,87,129,157,199,241,41d$!!75,121,177,233,33,117,173,1f$""57,6x}141,225,81,165,21,133,245h$!!101,241,97,9,149,61,229,141j$!!81,21,245,213,209,205,1,253l$""49,101,209,61,165,42,234,1706y}n$##162,154,2,250,194,202,162,122p$75,84,212,84,68,52,4,244r$$$196,148,68,244,150,168,168,168t$""136,104,8,232,136,6z}40,136,232v$72|$ HI BYTE$0,0,0,0,1,1,1,1$1,1,1,1,1,1,1,1$2,2,2,2,2,2,2,3$3,3,3,3,4,4,4,5$5,5,6{}5,6,6,7,7,7$8,8,9,10,10,11,11,12$13,14,14,15,16,17,19,19$21,22,23,25,26,28,29,31$33,35,38,39,42,44,47,506|}$53,56,59,63,67,71,76,79$""84,89,95,100,106,112,119,126$%%134,142,152,159,169,179,190,201$ 213$ MOVEM$##6}}165,128,141,253,6,165,129,141$!!254,6,169,0,133,128,173,128$4,133,129,169,0,162,8,172$""40,6,145,128,200,202,208,26~}50$""104,240,21,104,104,24,109,40$6,141,40,6,168,189,56,6$##145,128,200,232,224,8,208,245$!!173,253,6,133,128,16}73,254,6$133,129,96D:EDITORINMAMSCOCLNCLOTMUOSESEPSENRSSKINTNNCHANGMOVINTICIONHN4)44 =غI H; ,; H; ,; H; ,;H H;  H; > H;  B d;BD:}EJK d;BHI b; b;: B d;B DEJK d; B@DEI =0:}<0( u;!POKEY PLAYER COMPILATION REPORT <Ň ňL9 b;aL6*U u;ERROR: NO:}TE OUT OF RANGEL~:8IiL68@ : <8 : <L6i8 䍐ie :+0- m; ; :}< eIieL}5䐐e b;)))Jee : <@日ee :L.5 m;`8:}吅8  ; m; e8 < m;< m; m;< m; m;D m; m;T m;  H;  B d;BD8LzCIOCIRFBUFFLH >} d@(>:A%,(VMERGE=(by Craig Chamberlain 12/29/83@(nX&;@4,;@@,;@,O6."h>}BhEhDhIhH Vԩ`X6-C:,x$;I:,&A,$6-C:,$(FILENAME$4A0F 6.D:6>}7@,.267B:,%@,..VC6-B:,%@F(_ A6-'-@@;67,.>:@H%,?(\@>}@_(?)@)@#1%@?6-%@G6-?:<<%AV$,%@>}1!A'=AG A6-%%AV$ M67@,.)67B:,%@,..V-(J@@>}M(T#67@<@,.>:@,26-?:<<&,>!A'JAT A( TEXT LINES%0>}(@% A @(ERROR F:A, D:VMERGE.NEW <`eFLHBUFFBUF dJ(>:AB}%,&(FILE BYTE CHANGERG(by Craig Chamberlain 6/17/83J(n%-A6At"!% x;@,9&(PB}LEASE ENTER INPUT DEVICE SPEC*94A0T A*@@7)@D)@T6-%AB}V$ ;,6-C:,:&6-?:A6<@<@<<,:!A'A@(E"(File contains B} bytes.B(Byte numbering starts at 1.E(2 AP!(( OUT OF RANGE2 A/ @)P:,%( BADB} NUMBER/ AZ'(IS:F:%&@, CHANGE TO1 A5Z )!AU)P:,A%&@B} A=(*(PLEASE ENTER OUTPUT DEVICE SPEC.=4AP{ A*@@7*@B}D*@g6-?:A6<@<@<<,{!A'A@ B,A6)(ERB}ROR F:A,# B&) ii104,104,104,10,10,10,10,170,104,104,157,66,3,104,157,69,3,104,157,68,3,104,157,73,3,104,B}157,72,3,32!%%86,228,132,212,169,0,133,213,96++DYNABYTE by Craig Chamberlain 6/17/83 D:DYNABYTEdJ(>:A@n28000 DIM CIO$(34),PP$(886),D$(16):CIO=ADR(CIO$):CIO$="hBhEhDhIhH Vԩ`":PP=ADR(PP$)28001 PP$="hhhhF}hhhhh hh 66J <(E$% ]L\hhhh"28002 PP$(102)="h'F}*3!$0ȝ$-0`h  \`Iة2ҭ="28003 PP$(198)="ҭAҭ>ҭBҭ?ҭF}Cҭ@ҭDҭEҢ `l˽!*!0 A)"28004 PP$(294)="A` c f)ɀ)F}$$F})ڨ6! ͹ΥJJJ) A*NN}$$"28005 PP$(390)="-A}'= ia͍@-)ɠ$2 F}-) A)*˝̝`)x33 "28006 PP$(486)="˽` f- f0` f3˝̝` f'`F} ˙6e˅ː`( f"28007 PP$(582)="`0 fE`8 f`@ f$`` ,AOdy;W)Ky!u9F}Qea =Q1e"28008 PP$(678)="=*ꪢbʢzKTTD4ĔDh(H F} "28009 PP$(774)="!#&'*,/258;?CGLOTY_djpw~ !#%(*-/259<@DHLQU[`flryntzF}"28010 PP$(870)=CHR$(155):PP$(871)="W[aflsy"28011 FOR K=0 TO 42:POKE 1606+K,PEEK(ADR(" $0lF}ll`")+K):NEXT K28020 D$="D:":D$(3)=F$:D$(LEN(D$)+1)=".V":POKE 65,0:OPEN #1,4,0,D$28021 FOR K=0 TO 2:GET #1,L:F}GET #1,A:L=L+256*A:IF K=0 THEN DIM V1$(L):A=ADR(V1$)28022 IF K=1 THEN DIM V2$(L):A=ADR(V2$)28023 IF K=2 THEN DIM V3$(L):A=AF}DR(V3$)28024 U=USR(CIO,A,L):IF U>127 THEN PRINT "ERROR ";U:CLOSE #1:POKE 65,3:END 28025 U=USR(PP+94,K,A):NEXT K:CLOSE #1:POF}KE 65,3:FOR K=1601 TO 1604:POKE K,0:NEXT K28026 U=USR(PP,PP+180,PP+261,PP+467,PP+813,PP+619):RETURN 28029 REM POKEY PLAYER F}- ANTIC VERSION by Craig ChamberlainO=ADR(CIO$):CIO$="hBhEhDhIhH Vԩ`":PP=ADR(PP$)28001 PP$="hhhhD% AD HGF M :CIO$="hBhEhDhIhH Vԩ`":PP=ADR(PP$)28001 PP$="hhhhH0'                 DDCDCDx0  (P,D,T\DD ,\TDDDLP. A5:855568=:888:<<A?<<<;::?=:<=? A   (P,D,T\DD ,\TDDDP^(  (P@$+@5 @8#K@;K>x8:<<A?<<<;::?=:<=? A   (P,D,T\DD ,\TDDDT*0  (P@$ DCDCD@DCCDDCDCDx<A?<<<;::?=:<=? A   (P,D,T\DD ,\TDDDX20  (P,D,T\DD ,\TDDD,T[CCKLD,Tܔx<A?<<<;::?=:<=? A   (P,D,T\DD ,\TDDD\2(  (P@$+@5 @8#K@;K>x0  (P@$ DCDCD@DCCDDCDCDx0  (P,D,T\DD ,\TDDDb},T[CCKLD,TܔxBLUESCRAIG CHAMBERLAIN0  (P@$ DCDCD@DCCDDCDCDx0  (P,D,T\DD ,\TDDD`)advantage is that errors in the source file can be detected when it is compiled. The Compiler cannot find bad notes, but it }will catch notes that go out of range, or measures that do not have the proper number of notes.The above steps must be repe}ated two more times, once for each remaining voice. If the music has only one voice, the remaining voices should be filled w}ith rests. When done, you will have three source files and three compiled files. The three compiled files are then combined} into one file by the Vmerge program. This file is the one that is played by the Player.The next three parts of the docume}ntation describe in detail how to use these three programs.that is played by the Player.The next three parts of the docume006cco><66>333`>?ll 3333c>ccc6<cckwccf<6ccc6 ?f 3~@`0 xx6c